import gradio as gr
import requests

# DeepSeek API 的端点和你的 API 密钥
DEEPSEEK_API_URL = "https://api.deepseek.com/v1/chat/completions"  # 替换为实际的 API 地址
API_KEY = "sk-e01f6aeabbf74f5cb841b58983fbfbd4"  # 替换为你的 DeepSeek API 密钥


def ask_deepseek(question):
    """
    调用 DeepSeek API 获取回答
    """
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }

    # 构造请求数据
    data = {
        "model": "deepseek-chat",  # 替换为实际的模型名称
        "messages": [{"role": "user", "content": question}]
    }

    # 发送 POST 请求到 DeepSeek API
    response = requests.post(DEEPSEEK_API_URL, headers=headers, json=data)

    # 检查响应状态
    if response.status_code == 200:
        result = response.json()
        # 假设 API 返回的回答在 'choices' 字段中
        answer = result['choices'][0]['message']['content']
        return answer
    else:
        return f"Error: {response.status_code} - {response.text}"


# 创建 Gradio 界面
iface = gr.Interface(
    fn=ask_deepseek,  # 调用 DeepSeek API 的函数
    inputs="text",  # 输入框，用户输入问题
    outputs="text",  # 输出框，显示回答
    title="DeepSeek 问答系统",
    description="输入你的问题，DeepSeek 将为你提供答案。",
    examples=["什么是人工智能？", "如何学习 Python？"]  # 提供一些示例问题
)

# 启动 Gradio 应用，并生成公共链接
iface.launch(share=True)